Bài viết này sẽ giúp các bạn sinh viên biết cách tự xác định con đường IT cho mình. Đây là một vấn đề khá cần thiết và trở thành nỗi băn khoăn của nhiều bạn sinh viên. Do đó mình quyết định mở một mục này trên web và dành thời gian viết về những điều mình biết . Hy vọng sau khi đọc xong bài này các bạn sẽ chọn được con đường phù hợp với mình. Từ đó các bạn chuyên tâm đi trên con đường đã chọn.
Trước hết, mình liệt kê các công việc về công nghệ thông tin để các bạn nắm được. Việc lựa chọn công việc dưới này sẽ ảnh hưởng trực tiếp đến việc chọn ngôn ngữ lập trình. Do vậy các bạn chú ý cảm nhận, sau khi đọc xong thì các bạn thấy thích cái gì nhất? Sau đó mình sẽ mô tả từng công việc + các ngôn ngữ lập trình + các yếu tố để các bạn theo nó. Dưới đây là danh sách các công việc mà dân IT có thể làm:
-
Lập trình phần mềm
-
Lập trình Web
-
Lập trình ứng dụng cho mobile
-
Lập trình Game
-
Lập trình Nhúng
-
Các việc khác: phân tích, test, thiết kế giao diện, SEO, quản trị mạng, trông quán nét ^^,...
Qua danh sách trên, chắc hẳn các bạn đã hình dung ra phần nào về các công việc. Nhưng mình đoán rằng các bạn sẽ đặt câu hỏi dạng như: Phần mềm là gì? Web là gì? ... rồi là mỗi cái cần học những gì để làm được? Hoặc thời gian để học được là bao lâu?... Để làm rõ vấn đề này, chúng ta sẽ cùng nhau tìm hiều về từng mảng.
Phần mềm là được coi là linh hồn của máy tính. Do vậy, bất cứ ai dùng máy tính cũng đều cần dùng rất nhiều phần mềm. Đầu tiên, các bạn thấy hệ điều hành Windows cũng là một phần mềm. Sau đó là các phần mềm soạn thảo văn bản (Word, Notepad,...), phần mềm chỉnh sửa ảnh, phần mềm chat chit (Yahoo, skype, ...), phần mềm nghe nhạc, xem video, phần mềm học tiếng Anh,... Qua đó các bạn đã thấy được sự cần thiết của phần mềm.
Tuy nhiên, các bạn đừng vội mừng khi thấy cái nào mình nói ở trên các bạn cũng dùng được. Với những người thuộc dân IT, thì vấn đề là: "Các phần mềm kia được làm ra như thế nào( quy trình làm phần mềm)? Dùng công nghệ gì để làm? Ngôn ngữ nào được sử dụng?... Hay nói ngắn gọn là chúng ta cần phải làm được các phần mềm như thế, chứ không đơn thuần là biết dùng nó.
Hiện nay có nhiều mô hình để làm phần mềm, như: mô hình thác nước, mô hình bản mẫu, mô hình xoắn ôc. Chi tiết từng phần các bạn sẽ thấy ở môn "công nghệ phần mềm". Trong đó, mô hình thác nước khá dễ hiểu và vẫn có thể dùng được. Nó gồm có các bước:
-
Lên ý tưởng phần mềm( ý tưởng này có thể do tự chúng ta, hoặc do khách hàng hàng yêu cầu)
-
Khảo sát: Tìm hiểu kỹ các vấn đề
-
Phân tích - thiết kế phần mềm(thiết kế cơ sở dữ liệu + thiết kế giao diện)
-
Triễn khai mã hóa ( code)
-
Kiểm thử (test) + Fixbug nếu có.
-
Đóng gói(tạo file setup.exe) + Phát hành( publish)
Ở giai đoạn phân tích, thiết kế các bạn sẽ có 2 lựa chọn: Phân tích hướng chức năng và Phân tích thiết kế hướng đối tượng UML. Hiện nay phần UML được dùng khá phổ biến do nó gần gũi với thực tế.
Sau khi có bản phân tích thiết kế, chúng ta sẽ tiến hành Code. Tới đây, các bạn cần lựa chọn ngôn ngữ lập trình phù hợp. Các ngôn ngữ phù hợp làm phần mềm gồm có: Visual Basic 6.0(viết tắt là VB6), Visual Basic .Net( VB.Net của Microsoft), CSharp( thường viết là C#), Java, Visual C++,...Phổ biến nhất là C# + Java.
Bên cạnh việc biết ngôn ngữ lập trình, chúng ta cần phải biết sử dụng hệ quản trị cơ sở dữ liệu + các câu lệnh thao tác trên đó. Phần này rất quan trọng và nhạy cảm. Bởi lẽ, các sổ sách, thông tin quan trọng của khách hàng, doanh thu, lợi nhuận,... để nằm trong cơ sở dữ liệu. Như vậy, có thể nói cơ sở dữ liệu chính là "sổ thiên tào" của các ông chủ nhà hàng, khách sạn, chủ siêu thi, công ty,... Chúng ta phải thận trọng khi sử dụng nó, tránh trường hợp: xóa nhầm, tính toán sai, làm mất nó. Đặc biệt, chúng ta không được công khai các dữ liệu đó( đây là đạo đức nghề nghiệp).
Hiện nay có các hệ quản trị cơ sở dữ liệu phổ biến là: SQL Server( cái này của Microsoft), Microsoft Access, Oracle ( cái này khá mạnh, các ngân hàng hay sử dụng. Nhưng phí bản quyền khá cao), My SQL ( cô nàng này cặp kè với a PHP như hình với bóng). Với phần mềm thì chúng ta hay sử dụng: SQL server, Oracle, Access. Ngoài ra với các hệ thống nhỏ người ta có thể lưu trữ trên file Text(*.txt), file XML. Do vậy, chúng ta cần cân nhắc trước khi lựa chọn, tránh trường hợp "mang dao mổ trâu đi giết gà" ^^.
Tới đây các bạn đã thấy làm phần mềm cần học ngôn ngữ lập trình, học hệ quản trị cơ sở dữ liệu. Điều các bạn cần nắm rõ là: Ngôn ngữ lập trình dùng để làm ra các giao diện để cho người dùng nhìn thấy + thao tác. Còn cơ sở dữ liệu sẽ lưu trữ các thông tin, khi người dùng cần chúng ta sẽ sử dụng ngôn ngữ lập trình để lôi ra cho họ. Khi người dùng cần lưu trữ thì chúng ta lại sử dụng ngôn ngữ lập trình nhét vào cơ sở dữ liệu. Chúng ta cần chú ý lưu trữ dữ liệu cẩn thận bằng việc backup nó thường xuyên hoặc làm chức năng Auto backup( tự động sao lưu sau khi tắt phần mềm chẳng hạn).
Qua phần mình vừa giới thiệu ở trên, các bạn thấy nếu như chúng ta theo hướng làm phần mềm thì cũng có tới 3,4 lựa chọn. Các cụ có câu: "Trai sợ chọn nhầm nghề, gái sợ lấy nhầm chồng". Do đó, các bạn trẻ cân nhắc cho kỹ khi lựa chọn nhé. Đây là 2 gợi ý cho các bạn:
-
1. Làm phần mềm trên nền tảng .Net Framework của Microsoft sử dụng C#+SQL Server
-
2. Làm phần mềm sử dụng ngôn ngữ Java + SQL Server/Oracle
Việc lựa chọn 1/2 tùy thuộc vào sở thích của các bạn nhé. Cả 2 cái đều khá mạnh mẽ và phổ biến hiện nay. Tuy nhiên, bên .Net được tnu' dưới Ô dù của bác MS nên đoực hỗ trợ nhiều hơn :D
Với sự bùng nổ của Internet, thì Website đã trở thành một thứ thiết yếu đối với chúng ta. Nó giúp chúng ta biết được các tin tức từ trên trời xuống dưới biển, từ Tây tới tàu, từ Nam ra bắc, .... Bên cạnh đó, nó còn giúp chúng ta giải trí bằng việc xem phim, nghe nhạc, chat chít,... Ngoài ra, chúng ta cũng có thể học tiếng Anh, học lập trình, học nấu ăn,... trên các Website. Qua đó, các bạn thấy rằng website quan trọng thế nào. Như vậy, chúng ta có nên tìm hiểu về nó và cách tạo ra nó không ?....
Nếu câu trả lời là CÓ thì xin mời bạn đọc tiếp. Mình sẽ giới thiệu các thông tin cơ bản về Web để bạn hình dung được. Khi nhắc tới Website thì chúng ta cần nắm được các khái niệm: Domain, Hosting, Web tĩnh, Web động, mã nguồn mở, mã nguồn đóng,... Dưới đây mình sẽ tóm tắt ngắn gọn từng khái niệm để các bạn nắm được.
* Domain: dịch ra tiếng Việt là "Tên Miền". Đây chính là tên của trang Web( Ví dụ: laptrinh123.com). Các bạn thấy sẽ có các đuôi kèm theo. Chẳng hạn: .Com, .Net, .Vn, .Com.Vn, .Edu, .gov,.tk,.US,.Org,... Mỗi cái đuôi nói lên ý nghĩa của Web. Chẳng hạn: Web thương mại sẽ lấy đuôi .com, Web chuyên Việt Nam là (.VN), Web dành cho giáo dục là (.edu = Education),Web của chính phủ là (.Gov=govement),... Ở Việt Nam thì đuôi .VN chúng ta cần nạp nhiều tiền để mua nhất.
* Hosting: Sau khi đã có Domain, chúng ta cần nơi để lưu trữ source code + DB. Đây được gọi là Hosting. Cái này đơn giản là máy chủ có IP public để mọi người truy cập được. Chúng ta có thể sử dụng các Hosting free hoặc trả phí. Thường thì mã nguồn mở có nhiều Hosting free hơn.
* Web tĩnh: Đây là các trang web có nội dung cố định trong mã nguồn( source code). Ví dụ: trang liên hệ với thông tin địa chỉ, điện thoại, ... là cố định thì có thể sử dụng web tĩnh ( viết thông tin luôn ở HTML). Khi muốn thay đổi thì phải sửa code của web.
* Web động: là các trang web có nội dung có thể thay đổi thường xuyên mà không cần phải sửa code. Ở phía code chỉ cần một khung hiển thị cố định, còn nội dung sẽ lấy từ cơ sở dữ liệu. Các bạn hình dung như chiếc TV các bạn sử dụng, cùng cái màn hình đó nhưng chúng ta có thể nhìn thấy các hình ảnh khác nhau phụ thuộc vào kênh chúng ta xem. Với tĩnh thì chẳng khác nào cái TV không cắm điện ^^.
* Mã nguồn mở( open source) : là những phần mềm được cung cấp dưới cả dạng mã và nguồn, không chỉ là miễn phí về giá mua mà chủ yếu là miễn phí về bản quyền: người dùng có quyền sửa đổi, cải tiến, phát triển, nâng cấp theo một số nguyên tắc chung qui định trong giấy phép (ví dụ General Public Licence – GPL) mà không cần xin phép ai, điều mà họ không được phép làm đối với các phần mềm nguồn đóng (tức là phần mềm thương mại).
* Mã nguồn đóng: là phần mềm mà mã nguồn không được công bố. Muốn sử dụng phần mềm nguồn đóng chỉ có một cách duy nhất là mua lại bản quyền sử dụng từ các nhà phân phối chính thức của hãng. Các hình thức tự do sao chép và sử dụng phần mềm nguồn đóng bị xem như là không hợp pháp. Ví dụ: Win XP, Win 7,8... là nguồn đóng, Bộ Office( word, excel,...), Visual studio, ..cũng là nguồn đóng.
Như vậy các bạn đã nắm được các khái niệm cơ bản về Web. Tiếp theo, mình sẽ giới thiệu tới các bạn cách làm ra một Website thế nào? Có những ngôn ngữ lập trình + công nghệ nào để làm web? ... Trước hết, mình sẽ tóm gọn việc làm Web ra 2 phía:
-
Phía người dùng( Client hay còn gọi là front-end): Đây chính là những cái mà các bạn thấy khi vào một website, bao gồm: giao diện + các hiệu ứng + các xử lý cơ bản. Để làm phần này chúng ta cần biết: HTML, CSS, Javascript, Jquery.
-
HTML: Viết tắt của Hyper Text Markup Language (ngôn ngữ đánh dấu siêu văn bản). Đây không phải là ngôn ngữ lập trình. Nó là một bản quy ước để các trình duyệt (firefox, chrome, cốc cốc, opera,..) hiểu và hiển thị cho chúng ta xem. Các bạn có thể nhấn Ctrl+U để xem nó.
-
CSS: Viết tắt của Cascading Style Sheet - ngôn ngữ định kiểu. Cái này giúp cho các website có thể thay đổi màu mè dễ dàng + tạo bố cục cho web.
-
Javascript: Đây là ngôn ngữ kịch bản chạy trên trình duyệt. Các bạn chú ý: đây không phải là tên viết đầy đủ của ngôn ngữ Java. Hai ngôn ngữ này hoàn toàn khác nhau.
-
Jquery: Đây là một thư viện rất phổ biến của Javascript. Nghĩa là nhiều cái chúng ta phải khổ sở code bằng Javascript thì nay chỉ việc gọi hàm có sẵn từ Jquery. Do vậy, thật là tiếc nếu bạn không học món này :P
-
Phía máy chủ( Server hay còn gọi là back-end): phần này rất quan trọng. Bởi lẽ nó xử lý các yêu cầu từ phía người dùng sau đó trả lại cho trình duyệt để người dùng xem. Để lập trình phía máy chủ chúng ta cần biết 1 trong các ngôn ngữ: ASP( ngôn ngữ này khá cổ, có thể nói tuyệt chủng rồi ^^), ASP.Net( đây là con cưng của Microsoft, khá phổ biến hiện nay. Sử dụng kết hợp với nhiều ngôn ngữ như VB.Net, C#,..), PHP ( ngôn ngữ này rất phổ biến ở Việt Nam do là nguồn mở), JSP( cái này code sử dụng Java). Cho dù sử dụng ASP.Net, PHP hay JSP thì cuối cùng ở trình duyệt vẫn chỉ là HTML. Chính vì vậy là nếu chỉ xem HTML khó mà nhận ra web được code bằng loại nào trên máy chủ nếu như website đó đã thay đổi URL( chẳng hạn: ASPNet có đuôi là .aspx => Nhưng có thể Rewrite thành đuôi khác như .html, .xyz..., PHP có đuôi là .php => Đổi thành đuôi khác...).
Với Webiste thì chúng ta có các công việc như: Chuyên làm giao diện Web với HTML, CSS, Javascript + Jquery. Công việc này thường là có file Photoshop từ một bác Designer nào đó gửi. Sau đó việc của bác này sẽ là làm giao diện giống với cái bản vẽ đó đúng theo chuẩn từng Pixel + font chữ,... Nói chung là cần phải tỉ mỉ + chi tiết. Tuy nhiên không đau đầu vì code không đòi hỏi tư duy cao. Công việc này gọi là làm Template hay còn gọi là Frontend. Sau đó sẽ là công việc xử lý dữ liệu để hiển thị lên các giao diện tương ứng. Ca này đòi hỏi tư duy logic + hiểu biết về hệ quản trị cơ sở dữ liệu( SQL server, MySQL, Oracle). Công việc này gọi là lập trình phía máy chủ (back end). Ngoài ra, nếu bạn nào giỏi Photoshop có thể tham chiến mảng thiết kế web (Web designer). Tóm lại, với lập trình Web chúng ta có 5 lựa chọn:
-
Làm giao diện web với HTML, CSS, JS, Jquery
-
Thiết kế web
-
Lập trình phía máy chủ với PHP
-
Lập trình phía máy chủ với ASP.Net
-
Lập trình phía máy chủ với JSP
-
Lập trình ứng dụng cho mobile:
-
Với tỉ lệ sử dụng Smart Phone khá cao, bạn trẻ nào cũng có một chú "dế" riêng cho mình để Face, zalo, web, game.. Do vậy, việc làm các ứng dụng cho nó là rất cần thiết và khả thi. Bởi lẽ, chúng ta có thể làm ứng dụng và chắc chắn rằng ít nhất cũng có một người dùng( tự cung tự cấp ^^). Đầu tư hơn chút thì chúng ta sẽ cho các ứng dụng lên AppStore, Google play, Window Store,... và giới thiệu cho bạn bè, người thân thưởng thức. Sau đó thì các bạn có thể kiếm tiền từ ứng dụng bằng việc gán quảng cáo, bán ứng dụng,.. Để làm ứng dụng thì chúng ta cần quan tâm tới các hệ điều hành cho Mobile. Hiện nay có 3 hệ điều hành dành cho mobile phổ biến nhất là: iOS, Android, Window phone. Do vậy các bạn sẽ có 3 lựa chọn tương ứng với mỗi hệ điều hành trên. Mình sẽ mô tả ngắn gọn để các bạn cảm nhận.
-
iOS: Đây là hệ điều hành chỉ dành cho các máy của Apple. Để luyện võ công này chung ta cần học lập trình cơ bản với C/C++. Sau đó là Object C. Bên cạnh đó, chúng ta còn có một lựa chọn khác là sử dụng ngôn ngữ Swift ( cái này mới được giới thiệu năm ngoái, yêu cầu từ iOS8 trở lên). Ngoài ra, chúng ta cần sắm các chú dế có hình "quá táo cắn dở" để test app trước khi cho lên thớt. Tiếp theo nữa là cần phải cài đặt môi trường để code( IDE) cũng khá mỏi. Khi phát hành thì chúng ta cần nạp khoảng 2 củ/năm cho tài khoản apple. Bù lại thì chúng ta sẽ có ứng dụng trên hệ điều hành khá hot + chất hiện nay ^^.
-
Android: Hệ điều hành này khá quen thuộc với mọi người do rất nhiều hãng sãn xuất mobile chọn nó, như: SamSung, HTC, Sony, ...Việc phát triển các ứng dụng cho hệ điều hành này thuận tiện + dễ hơn nhiều so với iOS. Đầu tiên là việc cài đặt dễ dàng, thiết bị rẻ. Sau đó là tài khoản để up lên Google play cũng rẻ( chỉ khoảng 500k). Ngoài ra, thời gian chờ đợi Google "soi" khá nhanh (chỉ khoảng 1 vài ngày. Với Apple(iOS) thì cần cả tuần). Cũng do vậy mà trên Google play các bạn thấy nhiều app clone(nhái) + chất lượng thấp hơn so với iOS. Để luyện loại võ công này, chúng ta cần học: Ngôn ngữ lập trình Java, Lập trình hướng đối tượng, Thuật toán, SQLite, .. Sau đó mới học tới cái "ăn roi" ^^.
-
Window Phone: Đây là hệ điều hành được phát triển bởi Microsoft và được ra lo bởi hãng sản xuất điện thoại Phần Lan "nó kìa" ^^. Gồm có các máy tiêu biểu như: Lúa mì 520, 630, 730, 820, 1020,... Hiện tại, Microsoft đã mua lại mảng này của Nokia. Do vậy tên điện thoại đã thay đổi. Ngoài Nokia còn có HTC cũng tham gia phát triển điện thoại sử dụng Window Phone( HTC 8x). Để làm ứng dụng cho window phone, chúng ta cần học: ngôn ngữ lập trình C#, XML, Sqlcompact/Sqlite, WindowPhone. Công việc code cho hệ điều hành này khá thuận lợi. Tuy nhiên, tỉ lệ người dùng sử dụng Window Phone thấp hơn nhiều do với iOS/Android.
Sự thành công của "Flappy bird" làm thị trường game Việt đã sôi động hơn hẳn. Các trung tâm lập trình thi nhau mở các lớp làm game, các bạn trẻ thi nhau chơi + clone game đó. Có nhiều cách để làm bằng game đó. Đầu tiên là sử dụng Unity 3D+ C#. Mặc dù các bạn thấy 3D nhưng Unity vẫn hỗ trợ cả làm game 2D khá tốt. Ưu điểm của Unity là chúng ta có thể code một lần và build ra 21 Platform khác nhau( từ iOS, Android, Window Phone, Black bery, Web, PC,...). Cũng chính vì tổng hợp nhiều nên game làm bằng Unity có file cài đặt khá nặng. Cách tiếp theo là chúng ta có thể sử dụng Cocos 2D kết hợp với C++. Điểm cộng cho chiêu này là file cài đặt khá nhẹ. Tuy nhiên nó hỗ trợ kém hơn Unity. Ngoài ra còn rất nhiều Game Engine khác có thể làm game.
Khi tham gia vào thế giới lập trình Game chúng ta cần: Kỹ thuật lập trình tốt, học toán tốt (để tính toán, tưởng tượng,..), rành vật lý ( để tính toán lực, va chạm,...), chắc lập trình hướng đối tượng, tư duy logic tốt để xử lý + fix bug ^^, hiểu rõ về hệ điều hành hướng tới để tối ưu game, trí tuệ nhân tạo cho các Game thông minh,... Nói chung Game đòi hỏi rất cao, khác xa so với những thứ mình viết ở phần trước. Nhưng bù lại, nếu bạn nghĩ là ý tưởng tốt + thực hiện được nó thì sẽ kiếm được khá khá $ ^^.
Qua phần giới thiệu, chắc hẳn các bạn đã nhận thấy mình có phù hợp với Game hay không rồi! Chú ý cân nhắc cho phù hợp với khả năng nhé. Cố được là tốt nhưng không nên cố những cái mà bạn thấy mình không thể ^^.
Đây là món để chúng ta lập trình cho các hệ thống nhúng. Theo Wikipedia, thì hệ thống nhúng được định nghĩa là: " Hệ thống nhúng (tiếng Anh: embedded system) là một thuật ngữ để chỉ một hệ thống có khả năng tự trị được nhúng vào trong một môi trường hay một hệ thống mẹ. Đó là các hệ thống tích hợp cả phần cứng và phần mềm phục vụ các bài toán chuyên dụng trong nhiều lĩnh vực công nghiệp, tự động hoá điều khiển, quan trắc và truyền tin. Đặc điểm của các hệ thống nhúng là hoạt động ổn định và có tính năng tự động hoá cao." ( Các bạn đọc thêm tại link: https://vi.wikipedia.org/wiki/H%E1%BB%87_th%E1%BB%91ng_nh%C3%BAng).
Theo mình thấy, thì việc lập trình nhúng đòi hỏi chúng ta cần phải hiểu biết về cấu tạo phần cứng + các vi mạch. Ngôn ngữ lập trình thường sử dụng là C/C++. Do vậy, việc code có phần khô khan hơn các loại còn lại. Nếu bạn có cả đam mê phần cứng + phần mềm thì có thể theo loại này. Mình có quen một số bạn làm lập trình nhúng tại FPT. Còn bản thân mình chưa từng tham gia mảng này :D
-
Các việc khác: phân tích, test, SEO, quản trị mạng, trông quán nét ^^,...
Đây là các lựa chọn khác dành cho các bạn có ít đam mê code. Tuy nhiên, chúng lại đòi hỏi các bạn có một khả năng riêng. Ví dụ: để làm được phân tích đòi hỏi bạn phải có khả năng tìm hiểu + tiếp cận vấn đề tốt, có khả năng tổng hợp, logic và một cái đầu bao quát. Bên cạnh đó, bạn cũng cần có khả năng viết tài liệu tốt nữa. Tiếp đến là công việc Test: công việc này đòi hỏi ở bạn tính tỉ mỉ, kiên trì, không chán nản khi làm các việc lặp đi lặp lại,.. thường phù hợp với con gái hơn. SEO là viết tắt của cụm từ “Search Engine Optimization” hay theo nghĩa tiếng việt thì còn gọi là “Tối ưu hóa công cụ tìm kiếm”. Công việc SEO hiện tại cũng khá hot. Việc này cần bạn chăm chỉ, biết chút ít về Web, biết sử dụng các Tool phân tích củ Google, sau đó là các thủ thuật này nọ. Tuy nhiên, công việc này không tạo ra sản phẩm như chúng ta làm web, mobile, software, game. ..
Nếu như đọc tới đây mà bạn vẫn ko thấy công việc nào phù hợp với mình. Thì còn lựa chọn khác là: đi trông quán net, cài đặt win, học về sửa chữa phần cứng. Hoặc nếu bạn kinh doanh được có thể mở quán net riêng, hoặc mở công ty phần mềm, web... thuê toàn bộ nhân sự. Hay nói cách ngắn gọn là "làm ông chủ". :v
Tóm lại, việc chọn hướng đi của các bạn phụ thuộc khá nhiều yếu tố. Bao gồm các yếu tố khách quan, như: hướng bạn chọn liệu còn được nhiều doanh nghiệp, công ty săn lùng sau khi các bạn ra trường hay không? sự thay đổi của công nghệ theo từng ngày. Tiếp đến là yếu tố chủ quan: Bạn có khả năng học hỏi nó hay không? Do vậy, việc chọn định hướng bạn cần phải cân bằng được 2 yếu tố: sở thích + nguồn việc tương ứng cái bạn chọn. Tuy nhiên khi đã theo nghiệp "Lập trình viên" thì các bạn cần nhớ học các loại sau:
-
Kỹ thuật lập trình cơ bản: loại này áp dụng với mọi ngôn ngữ. Khi mới học thì chỉ chọn 1 cái (C/Paslcal) và học cho thật chắc
-
Cấu trúc dữ liệu giải thuật: món này mang tính tư tưởng, giải pháp nên cũng áp dụng được hết.
-
Lý thuyết thuật toán, toán rời rạc, nguyên lý lập trình,...: Các món này giúp bạn tăng nội công.
-
Lập trình hướng đối tượng(OOP): cái này sử dụng rất phổ biến hiện nay. Các buộc phải học nó. Có 3 ngôn ngữ phổ biến để các bạn luyện công, gồm: C#, Java, C++ => Độ khó tăng dần.
-
Hệ quản trị cơ sở dữ liệu: Cái này cũng thuộc loại bắt buộc. Bạn cần học chắc các câu lệnh truy vấn SQL. Các câu lệnh này dùng chung cho các hệ quản trị cơ sở dữ liệu khác nhau( SQL Server, MySQL, Oracle,..). Món này thì khá dễ học, chỉ cần bạn chăm chỉ luyện tập sẽ thành.
-
Luyện thành thần ^^: Sau khi đã qua các cửa ải trên. Các bạn hãy chọn lấy một cái mà các bạn thích nhất + có tiềm năng và chỉ luyện nó thôi. Sau vài năm chuyên tâm thì bạn chắc chắn đã ở một level khác. Khi đó tự tin mà xin việc hoặc làm ông chủ( tùy khả năng của bạn).
Cám ơn các bạn đã đọc tới dòng này và mình hy vọng các bạn sẽ cân nhắc và chọn được hướng đi phù hợp nhất cho mình. Nếu có thắc mắc gì thì có thể comment phía dưới, mình sẽ giải đáp và chia sẻ những điều mình biết và từng trải qua.
MrFour IT